import java.util.Random;

import org.lwjgl.opengl.GL11;

public class Map {

	// a и b - размеры ячейки в пикселях
	// x и y - размеры поля в ячейках
	int a = 1, b = 1, x = 600, y = 800;
	// следует указывать такие значения, чтобы
	// a*x=windowWidth и b*y=windowHeight

	int cells[][];

	public Map() {
		// берём рандомный сид для получения случайных чисел
		long rSeed = System.currentTimeMillis();
		Random rnd = new Random(rSeed);

		cells = generateMap(rnd);
	}

	private int[][] generateMap(Random rnd) {
		int[][] map = new int[x][y];
		
		/* синусоида */
		for (int i = 0; i < y; i++)
			map[(int)Math.round(Math.sin(((double)1/100) * i) * 100) + 300][i] = 1;
		
		return map;
	}

	public void Draw() {
		// рисуем каждую ячейку при помощи OpenGL
		for (int i = 0; i < cells.length; i++) {
			for (int j = 0; j < cells[i].length; j++) {
				int Y = i * b, X = j * a;

				if (cells[i][j] == 0)
					// set the color of the quad (R,G,B,A)
					GL11.glColor3f(0.5f, 0.5f, 1.0f);
				else
					GL11.glColor3f(0.0f, 0.0f, 1.0f);

				GL11.glBegin(GL11.GL_QUADS);

					GL11.glVertex2f(X,		Y);
					GL11.glVertex2f(X + a,	Y);
					GL11.glVertex2f(X + a,	Y + b);
					GL11.glVertex2f(X,		Y + b);

				GL11.glEnd();
			}
		}
	}
}
